﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Aplicacion_prueba_3
{
    class Libreta
    {

        private List<Persona> _personas = new List<Persona>();

        internal List<Persona> Personas
        {
            get { return _personas; }
            set { _personas = value; }
        }

        public void agregarPersona(Persona persona)
        {
            this._personas.Add(persona);
        }

        public void ordenarPersonasPorNombre()
        {
            this._personas.Sort(Persona.OrdenarPorNombre);
        }

        public void ordenarPersonasPorApellido()
        {
            this._personas.Sort(Persona.OrdenarPorApellido);
        }

        public override String ToString()
        {
            String datosDePersonas = "";

            foreach (Persona persona in this.Personas)
            {
                datosDePersonas = datosDePersonas + persona.ToString();
            }

            return datosDePersonas.ToString();
        }

        static void Main(string[] args)
        {
            Libreta libreta = new Libreta();

            Persona perUno = new Persona("Sergio", "Bogado", "san martin", 123414132);
            Persona perDos = new Persona("Jesus", "Luna", "Mitre", 1525163);
            Persona perTres = new Persona("Pablo", "Barrera", "Suipacha", 53514);

            libreta.agregarPersona(perUno);
            libreta.agregarPersona(perDos);
            libreta.agregarPersona(perTres);
            
            Console.WriteLine(libreta);
            Console.ReadLine();
            libreta.ordenarPersonasPorNombre();
            Console.WriteLine(libreta);
            Console.ReadLine();
            libreta.ordenarPersonasPorApellido();
            Console.WriteLine(libreta);
            Console.ReadLine();

        }
    }
}
